package com.tom.architect.day15.simple1.observable;

import com.tom.architect.day15.simple1.observer.IWXUser;

import java.util.ArrayList;
import java.util.List;

/**
 * Added by Tom on 2023/12/15.
 * 微信公众号：多个人去订阅
 */
public class WXPublicObservable {
    public List<IWXUser> mWXUsers; // 所有订阅用户列表

    public WXPublicObservable() {
        mWXUsers = new ArrayList<>();
    }

    // 订阅公众号
    public void register(IWXUser wxUser) {
        mWXUsers.add(wxUser);
    }
    // 取消订阅公众号
    public void unregister(IWXUser wxUser) {
        mWXUsers.remove(wxUser);
    }

    // 更新文章，推送更新到所有订阅用户
    public void update(String article) {
        for (IWXUser wxUser : mWXUsers) {
            wxUser.push(article);
        }
    }
}
